import FCMUtil from './FCMUtil';

// 在App启动时初始化
export const initializeFCM = async () => {
  const success = await FCMUtil.initialize();
  if (success) {
    console.log('FCM初始化成功');
    
    // 添加消息处理器
    FCMUtil.addMessageHandler((messageData) => {
      console.log('收到消息:', messageData);
      // 处理消息逻辑
      if (messageData.data.type === 'chat') {
        // 处理聊天消息
      } else if (messageData.data.type === 'notification') {
        // 处理通知消息
      }
    });
    
    // 添加通知点击处理器
    FCMUtil.addNotificationHandler((notificationData) => {
      console.log('通知被点击:', notificationData);
      // 处理通知点击，比如跳转到特定页面
      if (notificationData.data.screen) {
        // 导航到指定页面
        // navigation.navigate(notificationData.data.screen);
      }
    });
    
    // 订阅主题
    await FCMUtil.subscribeToTopic('general_notifications');
    
  } else {
    console.log('FCM初始化失败');
  }
};

// 获取FCM Token用于发送给服务器
export const getFCMToken = () => {
  return FCMUtil.getCurrentToken();
};

// 订阅用户相关主题
export const subscribeUserTopics = async (userId) => {
  await FCMUtil.subscribeToTopic(`user_${userId}`);
  await FCMUtil.subscribeToTopic('all_users');
};

// 取消订阅
export const unsubscribeUserTopics = async (userId) => {
  await FCMUtil.unsubscribeFromTopic(`user_${userId}`);
};